File Input/Output Operations

Computer Programming - প্যারট (Parrot) Parrot এর Networking এবং IO Operations (নেটওয়ার্কিং এবং আইও অপারেশন) |
133
133

ফাইল ইনপুট/আউটপুট অপারেশন (File Input/Output Operations) হল একটি প্রোগ্রামে ফাইলের সাথে ডেটা পড়া (Input) এবং লেখার (Output) কার্যক্রম। ফাইল I/O অপারেশনগুলি খুবই গুরুত্বপূর্ণ, কারণ এটি ডেটা সংরক্ষণ এবং প্রোগ্রামের মধ্যে স্থায়ী তথ্য আদান-প্রদান করতে সাহায্য করে।

ফাইল I/O অপারেশন সাধারণত দুটি প্রধান ধরনের হয়:

  1. ফাইল পড়া (File Reading): একটি ফাইল থেকে ডেটা পড়া।
  2. ফাইল লেখা (File Writing): একটি ফাইলে ডেটা লেখা।

ফাইল ইনপুট/আউটপুট অপারেশনগুলির ধরণ

ফাইল I/O অপারেশনগুলি বিভিন্ন ভাষায় আলাদা হতে পারে। এখানে আমি Python-এ ফাইল I/O অপারেশন কিভাবে করা হয়, তা ব্যাখ্যা করব। অন্যান্য ভাষায়ও ফাইল I/O অপারেশন প্রায় একইভাবে কাজ করে, তবে সিনট্যাক্স কিছুটা ভিন্ন হতে পারে।

ফাইল পড়া (Reading from a File)

ফাইল থেকে ডেটা পড়ার জন্য কিছু গুরুত্বপূর্ণ মেথড আছে:

  1. read(): পুরো ফাইলটি একবারে পড়ে।
  2. readline(): এক লাইনে একটি করে পড়বে।
  3. readlines(): ফাইলের সমস্ত লাইনকে একটি লিস্টে রিটার্ন করবে।

উদাহরণ (Python)

# ফাইল পড়া
with open('example.txt', 'r') as file:
    content = file.read()  # পুরো ফাইল পড়া
    print(content)

এই উদাহরণে, 'example.txt' ফাইলটি পড়া হচ্ছে এবং এর সমস্ত কনটেন্ট content ভেরিয়েবলে সংরক্ষিত হচ্ছে। with open() ব্লক ব্যবহার করলে ফাইল অটোমেটিকভাবে বন্ধ হয়ে যায়।

এক লাইনে ফাইল পড়া (Using readline()):

with open('example.txt', 'r') as file:
    line = file.readline()  # এক লাইনে পড়বে
    print(line)

সব লাইন পড়া (Using readlines()):

with open('example.txt', 'r') as file:
    lines = file.readlines()  # সব লাইন পড়বে এবং লিস্টে রাখবে
    for line in lines:
        print(line.strip())  # প্রতিটি লাইন প্রিন্ট করা

ফাইল লেখা (Writing to a File)

ফাইলে ডেটা লেখার জন্য কিছু সাধারণ মেথড আছে:

  1. write(): ফাইলে এক্সপ্লিসিট ডেটা লেখার জন্য ব্যবহৃত হয়।
  2. writelines(): লিস্ট বা অন্য Iterable থেকে ডেটা লেখার জন্য ব্যবহৃত হয়।

উদাহরণ (Python)

# ফাইলে লেখা
with open('example.txt', 'w') as file:
    file.write('Hello, World!\n')  # একটি লাইনে লিখব
    file.write('This is a new line.')

এখানে 'example.txt' ফাইলটি লেখার জন্য খোলা হয়েছে এবং write() মেথডের মাধ্যমে ডেটা ফাইলে লেখা হচ্ছে। ফাইলটি নতুন করে তৈরি হবে, অথবা যদি ফাইলটি আগে থেকেই থাকে, তাহলে তার পূর্ববর্তী কনটেন্ট মুছে গিয়ে নতুন কনটেন্ট লেখা হবে।

একাধিক লাইন লেখা (Using writelines()):

lines = ['Line 1\n', 'Line 2\n', 'Line 3\n']
with open('example.txt', 'w') as file:
    file.writelines(lines)  # একাধিক লাইন লেখা

ফাইল মুছে ফেলা (Deleting a File)

যদি একটি ফাইল মুছে ফেলার প্রয়োজন হয়, তাহলে os মডিউল ব্যবহার করা যেতে পারে।

import os
os.remove('example.txt')  # ফাইল মুছে ফেলবে

ফাইল অ্যাপেন্ড (Appending to a File)

ফাইলের শেষে নতুন কনটেন্ট যোগ করতে হলে append মোডে ফাইল খোলার প্রয়োজন হয়।

# ফাইলে নতুন কনটেন্ট যোগ করা
with open('example.txt', 'a') as file:
    file.write('Appending new data to the file.\n')

এখানে 'a' মোড ব্যবহার করা হয়েছে, যা ফাইলের শেষে নতুন তথ্য যোগ করবে, পূর্ববর্তী তথ্য মুছে যাবে না।

ফাইল বন্ধ করা (Closing a File)

ফাইল I/O অপারেশন সম্পন্ন হওয়ার পর ফাইল বন্ধ করা উচিত, যদিও with open() ব্যবহারের মাধ্যমে ফাইল স্বয়ংক্রিয়ভাবে বন্ধ হয়ে যায়। তবে, যদি open() ব্যবহার করেন, তাহলে আপনাকে close() মেথডটি ব্যবহার করে ফাইলটি বন্ধ করতে হবে।

file = open('example.txt', 'r')
content = file.read()
file.close()  # ফাইল বন্ধ করা

ফাইল মোডস (File Modes)

ফাইলটি খোলার জন্য বিভিন্ন মোড রয়েছে:

  1. 'r': রিড মোড, শুধুমাত্র ফাইলটি পড়তে হবে।
  2. 'w': রাইট মোড, ফাইলটিতে লিখতে হবে। যদি ফাইলটি না থাকে তবে নতুন ফাইল তৈরি হবে।
  3. 'a': অ্যাপেন্ড মোড, ফাইলের শেষে নতুন ডেটা যোগ করা হবে।
  4. 'b': বাইনারি মোড, বাইনারি ডেটা পড়তে বা লিখতে ব্যবহৃত হয়।
  5. 'x': এক্সক্লুসিভ ক্রিয়েশন, ফাইলটি যদি পূর্বে থাকে তবে ত্রুটি দেবে।

উদাহরণ:

# রাইট মোডে ফাইল খোলা
with open('example.txt', 'w') as file:
    file.write('Writing to file in write mode.')

ফাইল I/O ত্রুটি হ্যান্ডলিং (File I/O Error Handling)

ফাইল I/O অপারেশনের সময় বিভিন্ন ধরনের ত্রুটি ঘটতে পারে, যেমন:

  • ফাইল পাওয়া না যাওয়ার কারণে FileNotFoundError
  • ফাইল পড়তে বা লিখতে গিয়ে ত্রুটি
  • অনুমতির অভাব (Permission Denied)

এই ধরনের ত্রুটি ধরার জন্য try-except ব্লক ব্যবহার করা যেতে পারে:

try:
    with open('non_existent_file.txt', 'r') as file:
        content = file.read()
except FileNotFoundError:
    print("ফাইলটি পাওয়া যায়নি!")
except PermissionError:
    print("ফাইলটি পড়ার অনুমতি নেই!")

সারাংশ

  • ফাইল ইনপুট/আউটপুট অপারেশন এমন কার্যক্রম যা প্রোগ্রাম এবং ফাইলের মধ্যে ডেটা আদান-প্রদান করে।
  • ফাইল পড়া এবং ফাইল লেখা প্রধান কাজ এবং এটি বিভিন্ন মেথড যেমন read(), write(), readlines(), writelines() ইত্যাদি ব্যবহার করে করা হয়।
  • ফাইল মোড অনুযায়ী ফাইলটি পড়া বা লেখা হয় (যেমন 'r', 'w', 'a', 'x' ইত্যাদি)।
  • Error handling খুবই গুরুত্বপূর্ণ, যেমন ফাইল না পাওয়া বা অনুমতির অভাবের ক্ষেত্রে।

এভাবে ফাইল I/O অপারেশনগুলি বিভিন্ন প্রোগ্রামে কার্যকরীভাবে ব্যবহৃত হতে পারে।

Content added By
Promotion